package cn.wzvtc.softwaretechintro.phase02;

/**
 * 采用静态变量（全局变量）的形式交换两个数字
 * 本例子演示了作为静态变量，他会有什么特性？
 * 在整个Java内存模型中会放在什么地方？
 */
public class Debug06_Static {

    public static int a=3;
    public static int b=5;
    public static void main(String[] args) {
        System.out.println(a);//Debug06_Static.a
        System.out.println(b);//Debug06_Static.b
        //swap();
        //swap2(a,b);
        //TODO 1 调用不同swap来了解静态变量和局部变量的不同
        System.out.println(a);
        System.out.println(b);

        //TODO 2.通过多个不同对象的调用来了解静态变量和成员变量的不同特性
        /*
        Debug06_Static ds1= new Debug06_Static();
        Debug06_Static ds2= new Debug06_Static();
        System.out.println(ds1.a);
        System.out.println(ds1.b);
        System.out.println(ds1.a);
        System.out.println(ds1.b);
        System.out.println(ds2.a);
        System.out.println(ds2.b);
         */
    }

    public static void swap(){
        int t=a;
        int a=b;
        int b=t;
    }

    //如果采用这个函数，ab会不会交换？为什么？
    public static void swap2(int x,int y){
        int t=x;
        x=y;
        y=t;
    }

    public static void swap3(){
        int t=a;
        a=b;
        b=t;
    }

    public static void swap4(){
        int t=Debug06_Static.a;
        Debug06_Static.a=Debug06_Static.b;
        Debug06_Static.b=t;
    }





}
